﻿' LibWowArmory
' by Ronald M. Clifford (roncli@roncli.com)
'
' This source code is released under the GNU Library General Public License (LGPL) Version 2.1.

Imports System
Imports System.Collections.ObjectModel
Imports System.Linq

Namespace roncliProductions.LibWowArmory.Item.Search

    ''' <summary>
    ''' A class that encapsulates an Armory filter
    ''' </summary>
    ''' <remarks></remarks>
    Public Class QueryFilter

        Private lstAdvancedOptions As New Collection(Of AdvancedOptionsFilter)

        ''' <summary>
        ''' The terms to search item names on the Armory with
        ''' </summary>
        ''' <value></value>
        ''' <returns></returns>
        ''' <remarks></remarks>
        Public Property SearchQuery As String

        ''' <summary>
        ''' The current source filter to query with
        ''' </summary>
        ''' <value></value>
        ''' <returns></returns>
        ''' <remarks></remarks>
        Public Property Source As New SourceFilter

        ''' <summary>
        ''' The current item type filter to query with
        ''' </summary>
        ''' <value></value>
        ''' <returns></returns>
        ''' <remarks></remarks>
        Public Property ItemType As New ItemTypeFilter

        ''' <summary>
        ''' Advanced options to query with
        ''' </summary>
        ''' <value></value>
        ''' <returns></returns>
        ''' <remarks></remarks>
        Public ReadOnly Property AdvancedOptions As Collection(Of AdvancedOptionsFilter)
            Get
                Return lstAdvancedOptions
            End Get
        End Property

    End Class

End Namespace
